﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using INdT_Core.Entity;
using Microsoft.SharePoint;

namespace INdT_Core.DALC
{
    public class PessoaDalc : BaseDalc
    {
        public List<Pessoa> GetAniversariantes(int dia, int mes)
        {
            SPList listPessoa = SPContext.Current.Web.Site.RootWeb.Lists["Pessoas"];
            SPQuery query = new SPQuery();
            query.Query = string.Format(@"<Where>
                                            <And>
                                                <Eq>
                                                    <FieldRef Name=""DiaAniversario""></FieldRef>
                                                    <Value Type=""Number"">{0}</Value>
                                                </Eq>
                                                <Eq>
                                                    <FieldRef Name=""MesAniversario""></FieldRef>
                                                    <Value Type=""Number"">{1}</Value>
                                                </Eq>
                                            </And>    
                                        </Where>", dia.ToString(), mes.ToString());
            
            SPListItemCollection values = listPessoa.GetItems(query);
            return ConvertToList(values);
        }



        public List<Pessoa> GetPessoaByCargo(string cargo)
        {
            SPList listPessoa = SPContext.Current.Web.Site.RootWeb.Lists["Pessoas"];
            SPQuery query = new SPQuery();
            query.Query = string.Format(@"<Where>
                                            
                                                <Eq>
                                                    <FieldRef Name=""Cargo""></FieldRef>
                                                    <Value Type=""Text"">{0}</Value>
                                                </Eq>
                                               
                                               
                                        </Where>", cargo);

            SPListItemCollection values = listPessoa.GetItems(query);
            return ConvertToList(values);
        }


//        public Pessoa GetPessoaById(int id)
//        {
//            SPList listPessoa = SPContext.Current.Web.Site.RootWeb.Lists["Pessoas"];
//            listPessoa.GetItemById(id);
//            SPQuery query = new SPQuery();
//            query.Query = string.Format(@"<Where>
//                                            
//                                                <Eq>
//                                                    <FieldRef Name=""Cargo""></FieldRef>
//                                                    <Value Type=""Text"">{0}</Value>
//                                                </Eq>
//                                               
//                                               
//                                        </Where>", cargo);

//            SPListItemCollection values = listPessoa.GetItems(query);
//            return ConvertToList(values);
//        }

        private List<Pessoa> ConvertToList(SPListItemCollection values)
        {
            List<Pessoa> list = new List<Pessoa>();
            foreach (SPListItem item in values)
            {
                Pessoa pessoa = new Pessoa();
                pessoa.Id = GetFieldAsInt(item, "ID");
                pessoa.Nome = GetFieldAsString(item, "Nome");
                pessoa.Cidade = GetFieldAsString(item, "Cidade");
                pessoa.Departamento = GetFieldAsString(item, "Departamento");
                list.Add(pessoa);
            }
            return list;
        }


    }
}
